package com.chixing.day02;

import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;

/*
* 排序工具类
* 提供了常用的排序算法，如：冒泡、选择、快速、插入排序等
* */
public class SortUtil {

    /*
    * 冒泡排序
    * @param original 要排序的原数组
    * @return 返回排好序的数组
    * */

    public static void bubboSort(int[] original){
//        int[] a={15,154,1,54,56,78,56};
        for(int i=0;i<original.length-1;i++){
            for(int j=0;j<original.length-1-i;j++){
                if(original[j]>original[j+1]){
                    int temp = original[j+1];
                    original[j+1]=original[j];
                    original[j]=temp;
                }

            }
            System.out.print(+ original[i]+" , ");
        }

    }


//   快速排序

    public static int getMiddle(int[] arr,int low,int high){
        int temp=arr[0];
        while(low<high){
            if((low<high) && (arr[high])>temp){
                high--;
            }
            if((low<high) && (arr[low])<temp){
                low++;
            }
            arr[low]=arr[high];
        }
        arr[low]=temp;
        return low;

    }
    public static  void  quickSort(int[] arr,int low,int high){
        if(low<high){
            int mid=getMiddle(arr,low,high);
            quickSort(arr,0,mid-1);
            quickSort(arr,mid+1,high);
        }

    }
    //再次封装
    public static void quick(int[] arr){
        if(arr.length>=2)   //
            quickSort(arr,0,arr.length-1);
        System.out.println();

    }



}
